Skip to content

[Snyk] Security upgrade eslint from 9.39.4 to 10.0.0#72

Open
snyk-io[bot] wants to merge 1 commit into
mainfrom
snyk-fix-6e64813819c9b54268e2e5d00af5da1a
Open

[Snyk] Security upgrade eslint from 9.39.4 to 10.0.0#72
snyk-io[bot] wants to merge 1 commit into
mainfrom
snyk-fix-6e64813819c9b54268e2e5d00af5da1a

Conversation

@snyk-io

@snyk-io snyk-io Bot commented Jun 30, 2026

Copy link
Copy Markdown

snyk-top-banner

Snyk has created this PR to fix 1 vulnerabilities in the pnpm dependencies of this project.

Snyk changed the following file(s):

  • packages/middleware/node/package.json
⚠️ Warning
Failed to update the pnpm-lock.yaml, please update manually before merging.

Vulnerabilities that will be fixed with an upgrade:

Issue
high severity Inefficient Algorithmic Complexity
SNYK-JS-BRACEEXPANSION-17706650

Breaking Change Risk

Merge Risk: High

Notice: This assessment is enhanced by AI.


Important

  • Check the changes in this PR to ensure they won't cause issues with your project.
  • Max score is 1000. Note that the real score may have changed since the PR was raised.
  • This PR was automatically created by Snyk using the credentials of a real user.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.

For more information:
🧐 View latest project report
📜 Customise PR templates
🛠 Adjust project settings
📚 Read about Snyk's upgrade logic


Learn how to fix vulnerabilities with free interactive lessons:

🦉 Learn about vulnerability in an interactive lesson of Snyk Learn.


This change is Reviewable

@snyk-io

snyk-io Bot commented Jun 30, 2026

Copy link
Copy Markdown
Author

Merge Risk: High

This major upgrade to ESLint v10 introduces significant breaking changes, most notably the complete removal of the legacy .eslintrc configuration system. All projects must migrate to the eslint.config.js (flat config) format.

Key Breaking Changes:

  • Removal of .eslintrc: Support for .eslintrc.* and .eslintignore files has been completely removed. [1, 2, 7] You must migrate to a eslint.config.js file. [5, 10] Related CLI flags like --no-eslintrc and --ignore-path are also removed. [1]
  • Node.js Version Requirement: Support for Node.js versions older than v20.19.0 has been dropped. [1, 2] You must ensure your environment is running a compatible Node.js version. [5]
  • New Config Lookup: The configuration file is now located by searching from the directory of each linted file, which is a change from the previous behavior of searching from the current working directory. [1, 6]
  • eslint-env Comments: Using /* eslint-env */ comments will now cause linting errors. [2, 5]

Recommendation:
This upgrade requires a mandatory migration of your ESLint configuration from the legacy .eslintrc format to the modern eslint.config.js flat config format. Follow the official Configuration Migration Guide before upgrading. [2, 10]

Source: ESLint v10.0.0 Release Notes, Migration Guide

Notice 🤖: This content was augmented using artificial intelligence. AI-generated content may contain errors and should be reviewed for accuracy before use.

@snyk-io

snyk-io Bot commented Jun 30, 2026

Copy link
Copy Markdown
Author

Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@changeset-bot

changeset-bot Bot commented Jun 30, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 137b44d

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@snyk-io

snyk-io Bot commented Jun 30, 2026

Copy link
Copy Markdown
Author

Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

"@eslint/js": "catalog:devTools",
"@typescript/native-preview": "catalog:devTools",
"eslint": "catalog:devTools",
"eslint": "10.0.0",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[CRITICAL]: ESLint 10 pinned without a matching lockfile entry or v10-compatible companion plugins — install/lint will break

This PR hardcodes "eslint": "10.0.0" in only this package, but the committed pnpm-lock.yaml contains zero entries for eslint@10 (every package is resolved against eslint@9.39.4). The PR body itself warns: "Failed to update the pnpm-lock.yaml, please update manually before merging." Running pnpm install against this change will fail resolution in CI, so lint/check jobs won't run.

Even after the lockfile is regenerated, this creates a major version-skew hazard:

  • Every other package (client, server, core, codemod, express, hono, fastify, server-legacy) keeps eslint: catalog:devTools = ^9.39.2, so the workspace would have two eslint majors installed.
  • The companion plugins stay on v9: @eslint/js ^9.39.2, eslint-plugin-n ^17.23.1, typescript-eslint ^8.48.1, and the shared @modelcontextprotocol/eslint-config is built/validated against eslint 9. ESLint 10 is a major release with breaking changes; these v9 plugins are not guaranteed compatible with the v10 engine. The eslint-config flat config consumed by this package (./eslint.config.mjs) was authored for eslint 9.

A security bump should not silently introduce a toolchain-major jump in a single package. Recommended fixes, in order of preference:

  1. Update the catalog devTools.eslint to a patched v9 (the BRACEEXPANSION advisory is a transitive/minor issue, not something that requires ESLint 10) and keep all packages on catalog:devTools, OR
  2. If ESLint 10 is truly required, do it as a coordinated workspace-wide migration: bump eslint plus @eslint/js, typescript-eslint, eslint-plugin-n, eslint-config-prettier, and the shared @modelcontextprotocol/eslint-config together, regenerate pnpm-lock.yaml, and verify pnpm lint:all passes — not a one-package pin.

Do not merge until pnpm-lock.yaml actually resolves eslint@10 and the package's lint passes in CI.


Reply with @kilocode-bot fix it to have Kilo Code address this issue.

@kilo-code-bot

kilo-code-bot Bot commented Jul 6, 2026

Copy link
Copy Markdown

Code Review Summary

Status: 1 Issue Found | Recommendation: Address before merge

Overview

Severity Count
CRITICAL 1
WARNING 0
SUGGESTION 0
Issue Details (click to expand)

CRITICAL

File Line Issue
packages/middleware/node/package.json 65 ESLint 10 pinned without a matching pnpm-lock.yaml entry or v10-compatible companion plugins; pnpm install/CI lint will fail.
Files Reviewed (1 file)
  • packages/middleware/node/package.json - 1 issue

Fix these issues in Kilo Cloud


Reviewed by hy3-20260706:free · Input: 57.7K · Output: 4.4K · Cached: 318.6K

Review guidance: REVIEW.md from base branch main

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants